This specification relates to framing portions of media streams for streaming via a communication channel, such as a Hypertext Transfer Protocol (HTTP) communication channel.
HTTP has become a standard protocol for Web communications. Consequently, technologies have been developed and have become available for optimizing HTTP delivery of content. For example, such optimized delivery has become widely accessible as it relies mostly on standard HTTP servers that are widely supported in content distribution networks.
The basic principles of HTTP streaming involve using software on a server to break a media stream into small fragments (also referred to as segments) saved as separate files, and to create a playlist for informing a media player client where to get the files that make up a complete media stream. The media player client downloads the files and plays the small fragments included in the downloaded files in an order specified by the playlist. If the media stream originates from a live feed, the client can periodically refresh the playlist to see if any new fragments have been added to the media stream. Breaking the media stream into fragments can be performed in accordance with “HTTP Live Streaming” standard proposals, versions 1-3 (May 5, 2009-Apr. 2, 2010) available from the Internet Engineering Task Force (IETF). These proposed standards recommend slicing the media stream into segments having a predetermined time duration, for example each segment may be ten seconds long.